package appapi.service;

import appapi.Request.bigscreen.AlarmStaticReq;
import appapi.Request.bigscreen.MothCheckStaticReq;
import appapi.Request.bigscreen.SelfEquipUseReq;
import appapi.Request.bigscreen.StaticReq;
import appapi.Vo.bigScreen.EquipUseStateVo;
import appapi.Vo.bigScreen.OperatorInfoVo;
import appapi.dto.bigScreenDto.AreaLevelDto;
import appapi.entity.bigscreen.AlarmStaticModel;
import appapi.entity.bigscreen.EquipTypeOverageModel;
import appapi.entity.bigscreen.MothCheckStaticModel;
import appapi.entity.bigscreen.SeltEquipUseStaticModel;
import org.springframework.stereotype.Repository;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author djq
 * @date 2023/5/24 11:50
 * @description:
 */

@Repository
public interface IBigScreenService {
    List<EquipUseStateVo> GetProjEquipUseState(AreaLevelDto dto);

    List<EquipUseStateVo> GetCompEquipUseState(AreaLevelDto dto);

    List<EquipUseStateVo> GetOrgaEquipUseState(AreaLevelDto dto);

    List<OperatorInfoVo> getOrgaOperatorInfo(AreaLevelDto dto);

    List<OperatorInfoVo> getCompOperatorInfo(AreaLevelDto dto);

    List<OperatorInfoVo> getProjOperatorInfo(AreaLevelDto dto);

    List<EquipUseStateVo> GetOrgaEquipNum(AreaLevelDto dto);

    List<EquipUseStateVo> GetProjEquipNum(AreaLevelDto dto);

    List<EquipUseStateVo> GetCompEquipNum(AreaLevelDto dto);
//    List<EquipUseStateVo> GetEquipUseState(HttpServletRequest token);

    List<SeltEquipUseStaticModel> GetOrgaSelfEquipUseStatic(SelfEquipUseReq req);

    List<SeltEquipUseStaticModel> GetCompSelfEquipUseStatic(SelfEquipUseReq req);

    List<SeltEquipUseStaticModel> GetProjSelfEquipUseStatic(Long orgaId);

    List<MothCheckStaticModel> GetOrgaMothCheckStatic(MothCheckStaticReq req);

    List<MothCheckStaticModel> GetCompMothCheckStatic(MothCheckStaticReq req);

    List<MothCheckStaticModel> GetProjMothCheckStatic(Long orgaId);

    //获取设备超期统计
    List<EquipTypeOverageModel> GetOrgaEquipOverageStatic(StaticReq req);

    //获取设备超期统计
    List<EquipTypeOverageModel> GetCompEquipOverageStatic(StaticReq req);

    List<EquipTypeOverageModel> GetProjEquipOverageStatic(Long orgaId);

    List<AlarmStaticModel> GetAlarmStatic(AlarmStaticReq req);
}
